
fs = 1000;         % 采样频率 1kHz
N = 1000;
sigSourceCfg.freqs = [100, 200, 300]; % 复正弦信号的频率（Hz）
sigSourceCfg.gains = [1, 0.8, 0.6]; % 复正弦信号的频率（Hz）
sigSourceCfg.noisePower = 1e-1; % 噪声功率
sigSourceCfg.fs = fs; % 采样率（Hz）
sigSourceCfg.numSamples = N; % 样本数
% 生成信号
signal = sinu_generator(sigSourceCfg);

% MVDR参数
p = 10;           % 自相关矩阵阶数（通常为信号成分数的2倍）
NFFT = 512;       % 频率分辨率

% 调用MVDR谱估计函数
[P_mvdr, f] = mvdr(signal, fs, p, NFFT);
% 转换为dB尺度
P_mvdr_db = mag2db(P_mvdr);
% xlim([0, fs/2]);

% 绘制功率谱密度
fig = figure('Visible','off');
plot(f, P_mvdr_db, 'LineWidth', 1.5);
title('MVDR Spectrum Estimation');
xlabel('Frequency (rad/sample)');
ylabel('Power Spectral Density(dB)');
grid on;
exportgraphics(fig,'test.jpg');
close(fig);